
//@@{ "工作者_线程":"worker_threads" }
声明 模块 "worker_threads" {

    //@@{ 上下文_:Context }
    导入 { 上下文_ } 来自 "vm";

    //@@{ 事件发生器_:EventEmitter }
    导入 { 事件发生器_ } 来自 "events";

    //@@{ 可读的_:Readable, 可写的_:Writable }
    导入 { 可读的_, 可写的_ } 来自 "stream";

    //@@{ 是主线程:isMainThread }
    常量 是主线程: 真假;

    //@@{ 父端口:parentPort, 消息端口_:MessagePort }
    常量 父端口: 空值 | 消息端口_;

    //@@{ 线程Id:threadId }
    常量 线程Id: 数字;

    //@@{ 工作者数据:workerData }
    常量 工作者数据: 任意;

    //@@{ 消息通道_:MessageChannel }
    类别 消息通道_ {

        //@@{ 端口1:port1, 消息端口_:MessagePort }
        只读 端口1: 消息端口_;

        //@@{ 端口2:port2, 消息端口_:MessagePort }
        只读 端口2: 消息端口_;
    }

    //@@{ 消息端口_:MessagePort, 事件发生器_:EventEmitter }
    类别 消息端口_ 扩展 事件发生器_ {

        //@@{ 关闭:close }
        关闭(): 无值;

        //@@{ 发布消息:postMessage, 数组_:Array, 数组缓冲区_:ArrayBuffer, 消息端口_:MessagePort }
        发布消息(值: 任意, 转换列表?: 数组_<数组缓冲区_ | 消息端口_>): 无值;

        //@@{ 限制退出:ref }
        限制退出(): 无值;

        //@@{ 解除限制:unref }
        解除限制(): 无值;

        //@@{ 开始:start }
        开始(): 无值;

        //@@{ 添加监听器:addListener, "关闭":"close" }
        添加监听器(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 添加监听器:addListener, "消息":"message" }
        添加监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 添加监听器:addListener }
        添加监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 发出:emit, "关闭":"close" }
        发出(事件: "关闭"): 真假;

        //@@{ 发出:emit, "消息":"message" }
        发出(事件: "消息", 值: 任意): 真假;

        //@@{ 发出:emit }
        发出(事件: 文字 | 符号, ...参数组: 任意[]): 真假;

        //@@{ 正在:on, "关闭":"close" }
        正在(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 正在:on, "消息":"message" }
        正在(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 正在:on }
        正在(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 一次:once, "关闭":"close" }
        一次(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 一次:once, "消息":"message" }
        一次(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 一次:once }
        一次(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "关闭":"close" }
        预处理监听器(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "消息":"message" }
        预处理监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 预处理监听器:prependListener }
        预处理监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "关闭":"close" }
        预处理一次监听器(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "消息":"message" }
        预处理一次监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener }
        预处理一次监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 移除监听器:removeListener, "关闭":"close" }
        移除监听器(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 移除监听器:removeListener, "消息":"message" }
        移除监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 移除监听器:removeListener }
        移除监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 关:off, "关闭":"close" }
        关(事件: "关闭", 监听器: () => 无值): 本体;

        //@@{ 关:off, "消息":"message" }
        关(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 关:off }
        关(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;
    }

    //@@{ 工作者选项组_:WorkerOptions }
    接口 工作者选项组_ {

        //@@{ 执行:eval }
        执行?: 真假;

        //@@{ 工作者数据:workerData }
        工作者数据?: 任意;

        //@@{ 标准输入:stdin }
        标准输入?: 真假;

        //@@{ 标准输出:stdout }
        标准输出?: 真假;

        //@@{ 标准错误:stderr }
        标准错误?: 真假;

        //@@{ 执行参数v:execArgv }
        执行参数v?: 文字[];
    }

    //@@{ 工作者_:Worker, 事件发生器_:EventEmitter }
    类别 工作者_ 扩展 事件发生器_ {

        //@@{ 标准输入:stdin, 可写的_:Writable }
        只读 标准输入: 可写的_ | 空值;

        //@@{ 标准输出:stdout, 可读的_:Readable }
        只读 标准输出: 可读的_;

        //@@{ 标准错误:stderr, 可读的_:Readable }
        只读 标准错误: 可读的_;

        //@@{ 线程Id:threadId }
        只读 线程Id: 数字;

        //@@{ 工作者选项组_:WorkerOptions }
        构造(文件名称: 文字, 选项组?: 工作者选项组_);

        //@@{ 发布消息:postMessage, 数组_:Array, 数组缓冲区_:ArrayBuffer, 消息端口_:MessagePort }
        发布消息(值: 任意, 转换列表?: 数组_<数组缓冲区_ | 消息端口_>): 无值;

        //@@{ 限制退出:ref }
        限制退出(): 无值;

        //@@{ 解除限制:unref }
        解除限制(): 无值;

        //@@{ 终结:terminate, 错误_:Error }
        终结(回调?: (错: 错误_, 退出代码: 数字) => 无值): 无值;
        /**
         * Transfer a `MessagePort` to a different `vm` Context. The original `port`
         * object will be rendered unusable, and the returned `MessagePort` instance will
         * take its place.
         *
         * The returned `MessagePort` will be an object in the target context, and will
         * inherit from its global `Object` class. Objects passed to the
         * `port.onmessage()` listener will also be created in the target context
         * and inherit from its global `Object` class.
         *
         * However, the created `MessagePort` will no longer inherit from
         * `EventEmitter`, and only `port.onmessage()` can be used to receive
         * events using it.
         */

        //@@{ 将消息端口移动到上下文:moveMessagePortToContext, 消息端口_:MessagePort, 上下文_:Context }
        将消息端口移动到上下文(端口: 消息端口_, 上下文: 上下文_): 消息端口_;

        //@@{ 添加监听器:addListener, "错误":"error", 错误_:Error }
        添加监听器(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 添加监听器:addListener, "退出":"exit" }
        添加监听器(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 添加监听器:addListener, "消息":"message" }
        添加监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 添加监听器:addListener, "在线":"online" }
        添加监听器(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 添加监听器:addListener }
        添加监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 发出:emit, "错误":"error", 错误_:Error }
        发出(事件: "错误", 错: 错误_): 真假;

        //@@{ 发出:emit, "退出":"exit" }
        发出(事件: "退出", 退出代码: 数字): 真假;

        //@@{ 发出:emit, "消息":"message" }
        发出(事件: "消息", 值: 任意): 真假;

        //@@{ 发出:emit, "在线":"online" }
        发出(事件: "在线"): 真假;

        //@@{ 发出:emit }
        发出(事件: 文字 | 符号, ...参数组: 任意[]): 真假;

        //@@{ 正在:on, "错误":"error", 错误_:Error }
        正在(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 正在:on, "退出":"exit" }
        正在(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 正在:on, "消息":"message" }
        正在(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 正在:on, "在线":"online" }
        正在(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 正在:on }
        正在(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 一次:once, "错误":"error", 错误_:Error }
        一次(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 一次:once, "退出":"exit" }
        一次(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 一次:once, "消息":"message" }
        一次(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 一次:once, "在线":"online" }
        一次(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 一次:once }
        一次(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "错误":"error", 错误_:Error }
        预处理监听器(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "退出":"exit" }
        预处理监听器(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "消息":"message" }
        预处理监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 预处理监听器:prependListener, "在线":"online" }
        预处理监听器(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 预处理监听器:prependListener }
        预处理监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "错误":"error", 错误_:Error }
        预处理一次监听器(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "退出":"exit" }
        预处理一次监听器(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "消息":"message" }
        预处理一次监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener, "在线":"online" }
        预处理一次监听器(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 预处理一次监听器:prependOnceListener }
        预处理一次监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 移除监听器:removeListener, "错误":"error", 错误_:Error }
        移除监听器(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 移除监听器:removeListener, "退出":"exit" }
        移除监听器(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 移除监听器:removeListener, "消息":"message" }
        移除监听器(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 移除监听器:removeListener, "在线":"online" }
        移除监听器(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 移除监听器:removeListener }
        移除监听器(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;

        //@@{ 关:off, "错误":"error", 错误_:Error }
        关(事件: "错误", 监听器: (错: 错误_) => 无值): 本体;

        //@@{ 关:off, "退出":"exit" }
        关(事件: "退出", 监听器: (退出代码: 数字) => 无值): 本体;

        //@@{ 关:off, "消息":"message" }
        关(事件: "消息", 监听器: (值: 任意) => 无值): 本体;

        //@@{ 关:off, "在线":"online" }
        关(事件: "在线", 监听器: () => 无值): 本体;

        //@@{ 关:off }
        关(事件: 文字 | 符号, 监听器: (...参数组: 任意[]) => 无值): 本体;
    }
}
